minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
↳ QTRS
↳ Non-Overlap Check
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
minus2(0, x0)
minus2(s1(x0), s1(x1))
geq2(x0, 0)
geq2(0, s1(x0))
geq2(s1(x0), s1(x1))
div2(0, s1(x0))
div2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
DIV2(s1(X), s1(Y)) -> IF3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
DIV2(s1(X), s1(Y)) -> MINUS2(X, Y)
DIV2(s1(X), s1(Y)) -> DIV2(minus2(X, Y), s1(Y))
DIV2(s1(X), s1(Y)) -> GEQ2(X, Y)
GEQ2(s1(X), s1(Y)) -> GEQ2(X, Y)
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
minus2(0, x0)
minus2(s1(x0), s1(x1))
geq2(x0, 0)
geq2(0, s1(x0))
geq2(s1(x0), s1(x1))
div2(0, s1(x0))
div2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
DIV2(s1(X), s1(Y)) -> IF3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
DIV2(s1(X), s1(Y)) -> MINUS2(X, Y)
DIV2(s1(X), s1(Y)) -> DIV2(minus2(X, Y), s1(Y))
DIV2(s1(X), s1(Y)) -> GEQ2(X, Y)
GEQ2(s1(X), s1(Y)) -> GEQ2(X, Y)
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
minus2(0, x0)
minus2(s1(x0), s1(x1))
geq2(x0, 0)
geq2(0, s1(x0))
geq2(s1(x0), s1(x1))
div2(0, s1(x0))
div2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
GEQ2(s1(X), s1(Y)) -> GEQ2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
minus2(0, x0)
minus2(s1(x0), s1(x1))
geq2(x0, 0)
geq2(0, s1(x0))
geq2(s1(x0), s1(x1))
div2(0, s1(x0))
div2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
GEQ2(s1(X), s1(Y)) -> GEQ2(X, Y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
minus2(0, x0)
minus2(s1(x0), s1(x1))
geq2(x0, 0)
geq2(0, s1(x0))
geq2(s1(x0), s1(x1))
div2(0, s1(x0))
div2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
minus2(0, x0)
minus2(s1(x0), s1(x1))
geq2(x0, 0)
geq2(0, s1(x0))
geq2(s1(x0), s1(x1))
div2(0, s1(x0))
div2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
MINUS2(s1(X), s1(Y)) -> MINUS2(X, Y)
trivial
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
minus2(0, Y) -> 0
minus2(s1(X), s1(Y)) -> minus2(X, Y)
geq2(X, 0) -> true
geq2(0, s1(Y)) -> false
geq2(s1(X), s1(Y)) -> geq2(X, Y)
div2(0, s1(Y)) -> 0
div2(s1(X), s1(Y)) -> if3(geq2(X, Y), s1(div2(minus2(X, Y), s1(Y))), 0)
if3(true, X, Y) -> X
if3(false, X, Y) -> Y
minus2(0, x0)
minus2(s1(x0), s1(x1))
geq2(x0, 0)
geq2(0, s1(x0))
geq2(s1(x0), s1(x1))
div2(0, s1(x0))
div2(s1(x0), s1(x1))
if3(true, x0, x1)
if3(false, x0, x1)